এসকিউএল জয়েন (SQL Join)

Join এর বাংলা অর্থ কোন কিছু একত্রিত করা। SQL -এ JOIN দুই বা ততোধিক টেবিলকে একত্রিত করে।
একটি ডেটাবেজ দুই বা ততোধিক টেবিলের কলাম ফিল্ডের উপর ভিত্তিকরে যথাক্রমে দুই বা ততোধিক টেবিল থেকে সারি নিয়ে তাদের একত্রিত করার জন্য SQL JOIN clause ব্যবহৃত হয়।


ANSI স্ট্যান্ডার্ড অনুসারে SQL এ ৫ ধরনের JOIN রয়েছে

নিম্নে JOIN সমূহের তালিকা ও ব্যবহার তুলে ধরা হলোঃ

  • INNER JOIN - উভয় টেবিলে অন্তত একটি কলামের মিল থাকলে সকল সারি রিটার্ন করে।
  • LEFT JOIN - ডান টেবিলের মিলিত সারিসহ বাম টেবিলের সকল সারি রিটার্ন করে।
  • RIGHT JOIN - বাম টেবিলের মিলিত সারিসহ ডান টেবিলের সকল সারি রিটার্ন করে।
  • FULL JOIN -যেকোনো একটি টেবিলের সাথে মিল থাকলে উভয় টেবিলের সকল সারি রিটার্ন করে।
  • CROSS JOIN - বাম পাশের মিলিত সারির একটি কলামের জন্য ডান পাশের মিলিত সারির প্রতিটি কলামকে রিটার্ন করে।


 

SQL এর সবচেয়ে সাধারণ JOIN হলোঃ SQL INNER JOIN
join এর সাধারণ সর্ত পুরণ হলে SQL INNER JOIN একাধিক টেবিল থেকে সারি রির্টান করে।


 

নমুনা ডেটাবেজ

JOIN কীওয়ার্ডের ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।

নিচের অংশটি "Student_details" টেবিল থেকে নেওয়া হয়েছেঃ

রোল নাম্বারশিক্ষার্থীর নামপ্রতিষ্ঠানের নামঠিকানা
১০১তামজীদ হাসানজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০২মিনহাজুর রহমানজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০৩মোঃ সবুজ হোসেনজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০৪ইয়াসিন হোসেনজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০৫ফরহাদ উদ্দিনজাতীয় বিশ্ববিদ্যালয়চাঁদপুর

নিচের অংশটি "Student_attendance" টেবিল থেকে নেওয়াঃ

রোল নাম্বারউপস্থিতিভর্তির তারিখ
১০১৮৯০১-১১-২০১৫
১০২৯১০১-১১-২০১৫
১০৩৮০০১-১১-২০১৫
১০৪৭৫০২-১১-২০১৫
১০৫৭৭০২-১১-২০১৫

উপরের টেবিল দুটিতে লক্ষ্য করলে দেখবেন যে, "রোল নাম্বার(Roll_number)" কলামটি উভয় টেবিলে রয়েছে। "Student_details" টেবিলের "রোল নাম্বার(Roll_number)" কলামটি "Student_attendance" টেবিলের "রোল নাম্বার(Roll_number)" কলামকে নির্দেশ করে। "রোল নাম্বার(Roll_number)" কলামটি উভয় টেবিলের মধ্যে সম্পর্ক তৈরি করছে।

উদাহরণ

SELECT Student_attendance.Roll_number, Student_details.Student_name, Student_attendance.Admission_date
FROM Student_attendance INNER JOIN Student_details
ON Student_attendance.Roll_number=Student_details.Roll_number;

 

উপরের উদাহরণটির ফলাফল নিম্নের ন্যায় দেখাবেঃ

রোল নাম্বারশিক্ষার্থীর নামভর্তির তারিখ
১০১তামজীদ হাসান০১-১১-২০১৫
১০২মিনহাজুর রহমান০১-১১-২০১৫
১০৩মোঃ সবুজ হোসেন০১-১১-২০১৫
১০৪ইয়াসিন হোসেন০২-১১-২০১৫
১০৫ফরহাদ উদ্দিন০২-১১-২০১৫


 

Content added By

আরও দেখুন...

Promotion